通过源代码编译Linux容器镜像

您所在的位置:网站首页 linux 学习指南 通过源代码编译Linux容器镜像

通过源代码编译Linux容器镜像

2023-05-13 05:31| 来源: 网络整理| 查看: 265

前置主题

为了理解并使用本文中的内容,请确保您已掌握以下主题:

安装虚幻引擎

容器概述

容器快速入门

本页面的内容

要求

在Windows上安装Bash

安装Docker

为引擎的官方版本构建镜像

为引擎自定义版本构建镜像

修改高级构建参数

所有随附在虚幻引擎中的容器镜像都提供预编译版本,可以从GitHub容器注册表下载。一般来说,只有当你需要为某个虚幻引擎自定义版本构建开发镜像,或者修改镜像源代码时,你才需要通过源代码来编译镜像。

要求

如需构建包含在虚幻引擎中的Linux容器镜像,你的计算机需满足硬件和软件要求一文中"Linux容器"小节中所列明的软硬件要求。

在Windows上安装Bash

要在Windows上运行Linux容器镜像的编译脚本,你需要安装Bash shell这款应用。推荐使用Git Bash,安装Windows版Git时会默认安装这款软件。

安装Docker

推荐使用Docker来构建并运行包含在虚幻引擎中的容器镜像。安装Docker步骤依你使用的操作系统而定。以下链接将提供安装说明,指导你在每个可用的平台上进行安装:

Windows: 安装Windows版Docker桌面版

macOS: 安装Mac版Docker桌面版

Linux: 按照相应说明为你的特定Linux发行版安装Docker引擎:

CentOS

Debian

Fedora

Ubuntu

其他Linux发行版

为引擎的官方版本构建镜像

如果你已从GitHub下载了虚幻引擎的源代码,那么需要运行源代码根目录的 Setup.sh ,来下载引擎的二进制依赖文件。如果不执行此步骤,那么构建容器镜像所需的文件就会丢失。

在虚幻引擎源代码中导航至以下子目录:

Engine/Extras/Containers/Dockerfiles/linux

Linux容器镜像的编译脚本会在名为 username.txt 和 password.txt 的文件中搜索Git凭证:

创建 username.txt 文件并写入你的GitHub用户名。

创建 password.txt 文件并写入你的GitHub个人访问令牌。

如需为某个指定的虚幻引擎版本构建Linux容器镜像,请在Bash shell中运行如下命令,并将 ENGINE_RELEASE 替换为对应的版本号(如"4.27.0"):

./build.sh ENGINE_RELEASE

该操作会分别构建Linux运行时镜像和Linux开发镜像,之后再生成一些特殊用例镜像,例如像素流送。开发镜像的构建用时最长,因为开发镜像会从GitHub下载虚幻引擎源代码并创建一个已安装版本。

为引擎自定义版本构建镜像

构建脚本仅支持通过Git检索虚幻引擎源代码。暂不支持其他版本控制系统,例如Perforce。你可以通过手动修改开发镜像的Dockerfiles来使用其他版本控制系统,但Epic Games暂不支持此方法。

Linux容器镜像的构建脚本支持指定一个自定义的Git仓库和分支,并通过其来检索虚幻引擎源代码,而不是使用官方GitHub仓库。自定义仓库可能包括官方虚幻引擎仓库的GitHub分支,或储存在由组织维护的内部专用本地Git服务器上的私有仓库。

如何在 username.txt 和 password.txt 文件中填充Git凭证,取决于所使用的Git仓库类型:

GitHub分支:

使用你的GitHub用户名和个人访问令牌。

自定义Git服务器:

用你的Git用户名填充 username.txt 文件。

用你的Git密码填充 password.txt 文件。

如需为Git仓库的特定分支构建Linux容器镜像,请在Bash shell中运行如下所示命令,将 BRANCH 替换为分支名称,再将 REPOSITORY 替换为Git仓库的HTTPS URL(如:"https://github.com/EpicGames/UnrealEngine.git"):

./build.sh BRANCH REPOSITORY 修改高级构建参数

构建脚本 build.sh 包括以下高级构建参数,你可以通过手动编辑文件来修改这些参数:

BASEIMAGE: 这是一个字符串,用于在构建开发镜像时指定将会使用的Linux基础镜像。该值默认是包含OpenGL开发标头的Ubuntu基础镜像由NVIDIA提供。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3